package com.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface UserMapper extends BaseMapper<User> {

    // 使用MyBatis-Plus的BaseMapper中定义的方法，例如：
    // - insert(T entity): 插入一条记录
    // - updateById(T entity): 根据ID更新记录
    // - deleteById(Long id): 根据ID删除记录
    // - selectById(Long id): 根据ID查询记录
    // - selectList(Wrapper<T> queryWrapper): 根据条件查询记录列表

    // 例如，添加自定义方法可以使用@Select注解执行SQL查询
    // @Select("SELECT * FROM users WHERE username = #{username}")
    // List<User> selectByUsername(String username);

    // 如果需要，可以添加自定义注解方法
    //登录
    @Select("select * from users where username=#{username} and password=#{password}")
    public User UserLoginCheck(User user);
    //注册
    @Insert("insert into users (username, password) VALUES (#{username}, #{password})")
    public int UserRegister(User user);

    // 使用MyBatis-Plus的updateById方法更新记录
    // @Param("et") 表示传入的参数是实体对象
    @Override
    int updateById(@Param("et") User user);
}